package cn.gyouzhe.service;

import cn.gyouzhe.entity.Good;
import cn.gyouzhe.vo.GoodVo;
import cn.gyouzhe.vo.PageResult;

import java.util.Map;

/**
 * 商品service
 *
 * @author wangchuan
 * @datetime 2018/3/3 16:11
 */
public interface IGoodService {
    /**
     * 根据商品ID查询商品
     * @param goodId 商品ID
     * @return 商品实体
     */
    Good selectGood(String goodId);

    /**
     * 查询商品栏目总数
     * @return 商品栏目总数
     */
    Map<Integer, Integer> selectColumnGoodCount();

    /**
     * 分页查询商品列表
     * @param pagekey 页码参数
     * @param cid 商品栏目
     * @param pageNo  页码
     * @param pageSize  每页显示大小
     * @param type  商品类型
     * @param sort 排序 p价格 s销量 n最新
     * @return 商品列表
     */
    PageResult<GoodVo> selectGoodInfo(String pagekey, int cid, int pageNo, int pageSize, int type, String sort);

    /**
     * 保存商品
     * @param good 商品实体
     */
    void saveGood(Good good);

    /**
     * 更新商品
     * @param good 商品信息
     */
    void updateGood(Good good);

    /**
     * 过期商品
     * @param goodId 商品ID
     */
    void expireGood(String goodId);
}
